package com.huike.clues.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.huike.clues.domain.TbActivity;
import com.huike.clues.domain.dto.TbActivityDTO;
import com.huike.clues.service.TbActivityService;
import com.huike.clues.mapper.TbActivityMapper;
import com.huike.common.constant.Constants;
import com.huike.common.core.page.TableDataInfo;
import com.huike.common.utils.DateUtils;
import com.huike.common.utils.StringUtils;
import com.huike.common.utils.bean.BeanUtils;
import com.huike.common.utils.spring.SpringUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

/**
* @author 93238
* @description 针对表【tb_activity(活动管理)】的数据库操作Service实现
* @createDate 2023-10-12 06:35:46
*/
@Service
@RequiredArgsConstructor

public class TbActivityServiceImpl extends ServiceImpl<TbActivityMapper, TbActivity>
    implements TbActivityService{

    private final TbActivityMapper tbActivityMapper;

    /**
     * 查询活动管理列表
     *
     * @param tbActivityDTO
     * @return
     */
    @Override
    public List<TbActivityDTO> selectTbActivityList(TbActivityDTO tbActivityDTO) {

        return tbActivityMapper.selectTbActivityList(tbActivityDTO);
    }

    /**
     * 删除活动管理方法
     * @param ids
     */
    @Override
    public void deleteTbActivityByIds(Long ids) {
        tbActivityMapper.deleteTbActivityByIds(ids);
    }

    /**
     * 新增活动管理方法
     * @param tbActivityDTO
     * @return
     */
    @Override
    public void insertTbActivity(TbActivityDTO tbActivityDTO) {
        TbActivity tbActivity = new TbActivity();
        //拷贝
        BeanUtils.copyBeanProp(tbActivity,tbActivityDTO);
        //设置创建时间,通过DateUtils工具调用getNowDate()方法获取当前时间
        tbActivity.setCreateTime(DateUtils.getNowDate());
        //随机生成编号
        tbActivity.setCode(StringUtils.getRandom(8));
        //设置状态为2
        tbActivity.setStatus("2");
        //新增
        tbActivityMapper.insertTbActivity(tbActivity);

    }

    /**
     * 获取活动管理详细信息方法
     * @param id
     */
    @Override
    public TbActivityDTO selectTbActivityById(Long id) {
        TbActivityDTO tbActivityDTO = new TbActivityDTO();
        TbActivity tbActivity = tbActivityMapper.selectTbActivityById(id);
        BeanUtils.copyBeanProp(tbActivityDTO,tbActivity);
        return tbActivityDTO;
    }

    /**
     * 修改活动管理方法
     * @param tbActivityDTO
     * @return
     */
    @Override
    public void updateTbActivity(TbActivityDTO tbActivityDTO) {

        tbActivityMapper.updateTbActivity(tbActivityDTO);
    }


    /**
     * 查询渠道列表
     * @param channel
     * @return
     */
    @Override
    public List<TbActivityDTO> selectByChannel(String channel) {
        return tbActivityMapper.selectByChannel(channel);
    }
}




